/******************************************************************
*
*    CyberUtil for Java
*
*    Copyright (C) Satoshi Konno 2002-2004
*
*    File: Mutex.java
*
*    Revision:
*
*    06/19/04
*        - first revision.
*
******************************************************************/

package com.fiberhome.remoteime.cybergarage.util;

public class Mutex
{
    private boolean syncLock;

    ////////////////////////////////////////////////
    //    Constructor
    ////////////////////////////////////////////////

    public Mutex()
    {
        syncLock = false;
    }

    ////////////////////////////////////////////////
    //    lock
    ////////////////////////////////////////////////

    public synchronized void lock()
    {
        while(syncLock == true) {
            try {
                wait();
            }
            catch (Exception e) {
                Debug.warning(e);
            };
        }
        syncLock = true;
    }

    public synchronized void unlock()
    {
        syncLock = false;
        notifyAll();
    }

}